A number of relational database systems and applications use a database language such as Structured Query Language (SQL) and versions thereof to define, manipulate, and query data in the database. While standard SQL may be well-suited of searching a relational database, it can be limited regarding expressing relationships in data models. It is possible to express some constraints on the data (i.e., relationships) using, for example, foreign key constraints. However, such mechanism may primarily provide consistency checking for the data and does not fully express relationships on a contextual level.
In some aspects, including an applications and usage perspective, data objects relating to real-world operations may typically comprise numerous objects (e.g., documents, reports, contracts, invoices, orders, etc.) that are represented and ultimately stored in tables in a database. For example, a data object such as an “order” document may include a number of line items relating to a plurality of parties (e.g., a buyer, a seller, a supplier, etc.). For this “order”, there can be relationships between the different parties. These relationships may be expressed at a data consumer end (e.g., via a user interface) and/or on a logical level but such relationships are not typically expressed or defined in the database level. While some links between data items (i.e., fields) may be indicated in a limited manner in a relational database using primary keys that define some foreign key constraint, the database model itself does not express the semantic relationships.
It is the case that most conventional search applications, devices, and services rely on explicit, database-oriented operators that recite direct and literal connections between query search terms for the execution of a query based thereon. In some contexts, there may exist a desire to precisely define relationships between data items in a relational database in an efficient manner.